

// 错误示范: export做单个暴露时, 必须将关键词写在变量和方法的声明之前 
/* var a = 10;
function addA() {
    a++;
    return a;
}

export a;
export addA; */

export var a = 10;
export function addA() {
    a++;
    console.log(111111,a);
    return a;
}
export function reduceA() {
    a--;
    return a;
}

export function doubleA() {
    a *= 2;
    return a;
}

export function getA(){
    console.log("模块内的a:",a);
    return a;
}
export function setA(val){
    a = val;
    return a;
}

// export  模块化暴露(export命令用于规定模块的对外接口 => 可以选择将模块内的变量和方法暴露出去,其他模块可以通过import 对应路径引入当前模块,使用模块中暴露的属性和方法)

// a. 单个暴露 => export关键字输出该变量/方法

// 每一个模块都可以通过export default 设置一个默认值
export default a;          // 将a的值作为默认值 (10)
// export default addA;    // 将addA的函数作为默认值 (函数)
// export default { a:1}   // 默认值是一个对象